home *** CD-ROM | disk | FTP | other *** search
- ===============================================================
- XFIG - Facility for Interactive Generation of figures under X11
- ===============================================================
-
-
- Xfig is a menu-driven tool that allows the user to draw and manipulate objects
- interactively in an X window. The resulting pictures can be saved, printed
- on postscript printers or converted to a variety of other formats (e.g. to
- allow inclusion in LaTeX documents).
-
- This file contains some notes about installing xfig, the directory
- 'Examples' contains some example figures and the 'Doc' directory contains
- some further documentation including the manual in troff -man format
- and PostScript.
-
- ***************************************************************************
- Please refer any questions/bug fixes/contributions etc. about TransFig or
- xfig to me.
-
- Brian Smith
- Lawrence Berkeley Laboratory
- bvsmith@lbl.gov
- ***************************************************************************
-
- Note that although I work at Lawrence Berkeley Laboratory (LBL) I don't speak
- for LBL nor do I represent LBL with respect to my work on TransFig and xfig,
- nor does LBL make any representations about the suitability of this software
- for any purpose.
- Here is the legal part:
-
- THE LAWRENCE BERKELEY LABORATORY DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
- DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
- ++++++++++++++++++++++
- NOTE about version 3.0
-
- An error in version 3.0 incorrectly positioned objects on the canvas
- when reading older fig files. New objects entered with 3.0 are
- correctly positioned. A warning will popup when you load a version 3.0
- file with version 3.1 that says you might need to offset your figure by
- 14 fig units in X and Y when you load it. This is done by setting the
- X and Y offset in the popup File panel.
- I apologize for the inconvenience.
-
- This is also why the file version number has changed.
-
- ++++++++++++++++++++++
-
- ===================
- INSTALLATION NOTES:
- ===================
-
- 1. Edit the Imakefile if you need to customize it (see following notes)
- 2. Type "xmkmf" to create the Makefile from the Imakefile
- 2a. For a 3D look, see NOTE below
- 3. Type "make install" (if you don't do this step, be sure to install resources)
- 4. Type "make install.man"
- 5. For X11R5 color implementations, specify "*customization: -color" in your
- .Xdefaults or .Xresources file.
- NOTE: this only works under X11R5.
-
- If you have the XPM3 package (X11 color pixmaps) you can export your figures
- in that format. Also, you can import xpm files as picture objects.
- Uncomment the XPMDEFINES and related variables in the Imakefile in that case.
- You need version 3.4c or newer. This is available from ftp.x.org in
- /contrib/libraries.
- If you have ghostscript, enable the -DGSBIT flag in the Imakefile and xfig will
- attempt to use it to interpret any encapsulated Postscript (EPS) files you
- import. Ghostscript must be compiled with with the "gif8" and "pbmraw"
- drivers. The pbm driver is used when you run xfig on a monochrome display
- and the gif8 driver is used on a color display.
- If your system doesn't have strstr(), add the flag -DNOSTRSTR in the Imakefile
- in the DEFINES line.
- If you are running on an IBM RS/6000 with AIX 3.2 or a Sun with Solaris 2.3,
- uncomment the lines that define DPSLIB and DPSDEF in the Imakefile and you
- will see the full PostScript object when using EPS objects.
- If you have an input tablet and your X server supports the XInputExtension
- uncomment the lines that define TABLIB and USETAB in the Imakefile.
- Start xfig with -tablet or define the resource Fig.Tablet to use it.
-
- NOTE: For a 3D look, I recommend using Kaleb Keithley's 3D Athena Widget set,
- a direct replacement for the Xaw library. After you compile and install that
- package, and after step 1 above, just uncomment the definition of XAWLIB in
- the Imakefile and it will use the 3D widget set.
- This set is available from ftp.x.org.
-
- The maximum width of the top ruler is set to 1020 pixels and the height of the
- side ruler to 860 pixels. If your server can handle pixmaps larger than this
- and you need longer/taller rulers, you may set the maximum allowed in your
- Imakefile with -DMAX_TOPRULER_WD=1160 (or whatever value you wish) and
- -DMAX_SIDERULER_HT=1024 (or whatever value you wish).
-
- The SMOOTHMOTION option toggles between two methods for tracking the
- cursor. The first way (SMOOTHMOTION) just uses the (x,y) information given
- in the X pointer motion event. If your display server doesn't implement
- motion compression this is very slow for large movements of the mouse
- pointer because X sends back lots of small movement events, each of which
- causes the rubberband box to be erased and redrawn. The alternative
- way (not SMOOTHMOTION) queries the position of the X cursor whenever
- a motion event is received and if you make a large movement and then
- stop actually turns out to involve less work even though the XQueryPointer
- call is quite slow.
-
- The SMOOTHMOTION flag MIGHT be necessary for older versions of OpenWindows on
- certain machines if the performance is slow when moving or drawing objects.
-
- ----------------------
- Printing your figures:
- ----------------------
-
- The program to translate your figure into one of many printer languages
- (Postscript, LaTex, etc) is called fig2dev and is part of the TransFig
- package put together by Micah Beck and maintained by Brian Smith.
- It is available from ftp.x.org in /contrib/applications/drawing_tools/transfig.
- See the man pages for more information.
-
- If you have a SYSV system but use BSD-style printing (lpr instead of lp) you
- must define -DBSDLPR in the Imakefile/Makefile.
-
- You may also need to uncomment the following string in the Fig.ad
- app-defaults file:
-
- !Fig*job_params*string: -oPS
-
- -----------------
- Solaris users
- -----------------
-
- You should have:
-
- #define SystemV YES
- #define SystemV4 YES
-
- in your imake machine config file (usually in /usr/lib/X11/config or something
- like that).
-
- Add "-lc" to the LOCAL_LIBRARIES variable in the Imakefile to link with
- /usr/lib/libc for the directory operations.
-
- Some people have had trouble with the Sun cc 3.0.1 compiler and optimization.
- You may need to shut off optimization.
- A common symptom is that xfig just core dumps when starting.
-
- ----------------------------------------------
- Possible problems encountered installing xfig:
- ----------------------------------------------
-
- PROBLEM:
- When using LaTeX fonts in Xfig I always end up with postscript
- fonts instead rather than, say, Computer Modern.
-
- POSSIBLE CAUSE AND SOLUTION:
- To put fonts under the control of LaTeX when generating PS, you must
- tag the text object as "special" and then use the pstex output mode.
- This mode forces special text objects to be passed through to LaTeX,
- allowing the use of Math mode and CM fonts among other things.
- ________________________________________________________________________________
- PROBLEM:
- On a DEC Alpha the compiler may complain about something like: ".mask
- must have pcreg from .frame set if any bits are set in .mask or .fmask"
- in the file u_bound.c.
-
- POSSIBLE CAUSE AND SOLUTION:
- Set the optimization level to -O1 at least for that file.
- ________________________________________________________________________________
- PROBLEM:
- On Sun machines the linker may give erroneous error messages about
- the following symbols being undefined:
-
- ld: Undefined symbol
- _get_applicationShellWidgetClass
- _get_wmShellWidgetClass
-
- This may be ignored as it is a problem with the Sun shared libraries
- and the way X11 builds the shared Xmu library. It doesn't affect the
- operation of xfig.
-
- Or you may compile with "-Bstatic -lXmu -Bdynamic".
- To really solve the problem if you are using OpenWindows 3.0
- (X11R4-based Xt), please contact your local Sun office and request the
- following patches:
-
- Patch i.d. Description
- 100512-02 4.1.x OpenWindows 3.0 libXt Jumbo patch
- 100573-03 4.1.x OpenWindows 3.0 undefined symbols when using
- shared libXmu
-
- A source patch for use with the MIT X11R4 libraries was developed by
- Conrad Kimball (cek@sdc.boeing.com); it retrofits into R4 some fixes
- made in R5 to get around this problem. The patch is on export in [1/93]
- contrib/X11R4_sunos4.1.2_patch_version3.Z".
-
- The other option is to use X11R5 or X11R6.
- ________________________________________________________________________________
- PROBLEM:
- The window oscillates and fights with the window manager when
- I click on a mode button or try to resize the xfig window.
-
- POSSIBLE CAUSE AND SOLUTION:
- Perhaps the following resource has been set
- *allowShellResize: true
- because another program requires it to be true.
- Change the resource to be specific to the programs which need it,
- or set the following resource:
- Fig*allowShellResize: false
- Note: this is in the Fig.ad file that comes with xfig, which is
- installed when you do a "make install".
- ________________________________________________________________________________
- PROBLEM:
- Openwindows sometimes loses track of xfig's icon.
-
- POSSIBLE CAUSE AND SOLUTION:
- Cause unknown, here is a temporary kludge. Place the line:
- Fig*iconPixmap: ..../your_lib_area/fig.icon.X
- in your .Xdefaults file and copy fig.icon.X into your lib area.
- ________________________________________________________________________________
- PROBLEM:
- When compiling on an HP 750 running HP-UX 8.05, the compiler dies with
- a bus error in the file u_undo.c.
-
- POSSIBLE CAUSE AND SOLUTION:
- There is a bug in the HP compiler. Workaround the problem by adding
- an extra statement between two statements in u_undo.c:
-
- Original:
-
- undo_glue()
- {
- list_delete_compound(&objects.compounds, saved_objects.compounds);
- tail(&objects, &object_tails);
-
- New:
-
- undo_glue()
- {
- list_delete_compound(&objects.compounds, saved_objects.compounds);
- >>> /* HP-UX 8.05 compiler bug fix -- don't ask */
- >>> last_action = last_action;
- tail(&objects, &object_tails);
- ________________________________________________________________________________
- PROBLEMS:
- On HP machines, the capitalization of some letters in the text window
- in the edit popup for text objects are wrong.
-
- POSSIBLE CAUSE AND SOLUTION:
- Make sure that the CompKeyDB file has the lowercase letter definitions
- BEFORE the uppercase definitions. This should be the case for the
- CompKeyDB file shipped with xfig 2.1.5 and later.
- ________________________________________________________________________________
- PROBLEMS:
- On HP computers using cc compiler version A.09.61 there is a problem with
- level 3 optimization. Use +O2 instead of +O3.
-
- POSSIBLE CAUSE AND SOLUTION:
- Use level 2 instead.
-
-